home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / pc_board / pcb5.zip / PCBSWD5.EXE / PCBDOCS.EXE / PCBCHP17.DOC < prev    next >
Text File  |  1988-12-19  |  45KB  |  1,058 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                                                                     PCBoard
  8.                                                              9600/19200 BPS
  9.                                                             Modem Operation
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.           Chapter 17                                                   17.1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           PCBoard - 9600/19200 BPS Modem Operation
  74.  
  75.           General Information
  76.           -------------------
  77.           In order to  help you effectively use  one of the new  high speed
  78.           9600 bps and  lower speed "compression" modems,  please carefully
  79.           review the  following information.  First,  some basics.   When a
  80.           user  calls a BBS system, there are generally 3 links between the
  81.           two machines which  are speed related.  The first is the speed or
  82.           bps rate at  which the caller's CPU is connected  to their modem,
  83.           the second is the link between the two modems themselves, and the
  84.           third is the link  between the host modem and the  host CPU.  For
  85.           simplification,  we  will refer  to  these  three speeds  in  the
  86.           remainder of this document as CLink (caller CPU to caller modem),
  87.           MLink (modem to  modem), and Hlink (host  CPU to host modem).   A
  88.           simple diagram might help here:
  89.  
  90.                --------         --------          -------          -------
  91.                Caller's         Caller's           Host             Host
  92.                  CPU             Modem             Modem            CPU
  93.                --------         --------          -------          -------
  94.                   |___  CLink  ___| |___  MLink  ___| |___  HLink  ___|
  95.                      RS-232 Cable     Telephone Line     RS-232 Cable
  96.                       (DTE Link)        (DCE Link)        (DTE Link)
  97.  
  98.  
  99.           Understanding CPS Rates
  100.           -----------------------
  101.           Second, CPS or 'characters per second' is now used extensively by
  102.           various communications  programs in order that a caller can judge
  103.           their throughput  performance during  a file  transfer.   For the
  104.           benefit  of those who  do not  completely understand a  CPS rate,
  105.           here is  a very basic  outline.  Generally,  a byte of  data (one
  106.           character)  is  sent  as  a start  bit,  followed  by  the actual
  107.           character, followed by a  stop bit.   When running at 7,E,1,  the
  108.           highest  character which can  be sent  is a chr$(127).   However,
  109.           that means  you can  not send  any "binary"  files which  usually
  110.           contain  many characters from  chr$(128) to chr$(255).   However,
  111.           when using 8,N,1 settings,  any of these "high order"  characters
  112.           can be transmitted - which  not only allows for the  transmission
  113.           of  binary files - but  also the use  of "graphics" display files
  114.           which are comprised of many of  these high order characters.   If
  115.           you add the start bit, plus the 8 bit character length,  plus the
  116.           stop bit, you  end up with 10  bits needed to send  one character
  117.           (or a single  byte of data) to  the other machine.  At  1200 bps,
  118.           (1200 bits  per second),  if we divide  the bps  rate by  10 (the
  119.           number  of bits  per byte), we  end up with  a maximum throughput
  120.           rate of 120 characters per second (or 120 bytes per second if you
  121.           will).    Similarly,   at  2400  bps,  the   theoretical  maximum
  122.           throughput rate is 240 characters  per second.  That is why  when
  123.           doing an ASCII file transfer, CPS rates equal to bps  rate/10 can
  124.           be  achieved.   However, when  doing  'block' (ACK/NAK)  protocol
  125.           transfers, the time delay between blocks, as well as block "error
  126.  
  127.  
  128.  
  129.           17.2                                                   Chapter 17
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.                                    PCBoard - 9600/19200 BPS Modem Operation
  140.  
  141.           checking" bytes which are added to chunks of data, end up cutting
  142.           down  the  actual  throughput  rate of  the  given  file  so that
  143.           something in  the order of 85%  effective rate is achieved.   So,
  144.           how  do some  of the new  modems do  better than the  bps rate/10
  145.           calculation?  They  do so by  "compressing" the data  to be  sent
  146.           using  algorithms similar to those used when 'ARC'ing a file - so
  147.           that  they can  send more  bytes of  the file  at one  time.   Of
  148.           course,  the modem  on  the opposite  end must  be  able to  "un-
  149.           compress" the data or the system will  not work.  Also, since the
  150.           modems are  handling all  error checking  and  not the  software,
  151.           there  is no  need for  the  software to  control the  sending of
  152.           blocks and  "waits" for  an good  acknowledgement.   All it  (the
  153.           software)  needs to do  is send the  file out to the  other end -
  154.           monitoring RTS/CTS  flow control in the  process.  What  all this
  155.           ends up doing  is allowing some of  the new high speed  modems to
  156.           produce CPS throughput rates of 1100 to 1600 CPS or  higher under
  157.           ideal conditions  -including "clean" lines,  maximum "horsepower"
  158.           CPU's and  hard disks, and the  transmission of files  which have
  159.           not  already   been   compressed   using   ARC   type   programs.
  160.           Additionally, some  of the  new 2400  bps modems  also allow  for
  161.           "compression" transfer  of data when the  HLink (or DTE  link) is
  162.           locked into a fixed rate - such as 9600 bps.
  163.  
  164.  
  165.           Flow Control
  166.           ------------
  167.           Next,  we  need  to  mention a  little  bit  about  flow control.
  168.           Generally  speaking, there  are  two  types  of  flow  control  -
  169.           XON/XOFF and CTS/RTS  checking.  XON/XOFF is  the "standard" flow
  170.           control which has  been used for  years in async  communications.
  171.           It  is done  by having one  CPU send  the other CPU's  software a
  172.           signal  to start or stop transmitting  data.  This works great at
  173.           baud  rates  up  to  about 4800  baud,  as  long  as  there is  a
  174.           "communication buffer" of adequate size on both machines, and the
  175.           two softwares "look for" such signals quite frequently during all
  176.           of their  processes.  If  they do  not check for  the appropriate
  177.           signal often  enough, and their communication buffer is not large
  178.           enough, one machine  can keep sending  data to the  other -  even
  179.           though the other is not ready  to receive it - causing a  loss of
  180.           data.    Most  programs  on  the  market  today monitor  XON/XOFF
  181.           checking very well, and have no problems with flow control at the
  182.           lower speeds.  However,  when operating at rates of 9600  bps and
  183.           above, data can  be sent back and forth so quickly, a quicker and
  184.           more reliable  method of  controlling the  flow of  data must  be
  185.           implemented.  Here we use  RTS/CTS (Ready to Send/Clear to  Send)
  186.           flow control.  What  happens is that in effect, hardware bits are
  187.           toggled to immediately trigger the necessary start/stop sequences
  188.           to prevent data  over-runs.  Although  the two software  programs
  189.           must continually monitor the CTS/RTS bits, it can usually be done
  190.           much more  quickly and effectively than  having to check  for the
  191.           XON/XOFF software signals.
  192.  
  193.  
  194.  
  195.           Chapter 17                                                   17.3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.           PCBoard - 9600/19200 BPS Modem Operation
  206.  
  207.           Now, we  know there are three links between the two machines, and
  208.           that there must  be good  flow control in  order to prevent  data
  209.           loss.  What some callers don't realize  is that each link can run
  210.           under its own  type of flow control.   In other words,  the CLink
  211.           must have  proper flow control, the MLink  as well, and of course
  212.           the HLink.   If you consider  that the caller  may only be  using
  213.           XON/XOFF flow control for the  CLink portion, while the host  CPU
  214.           is trying to only use RTS/CTS flow control for the HLink, and the
  215.           two modems are using neither,  you can imagine the problems  that
  216.           may  develop in  trying  to keep  the  data  from being  lost  or
  217.           corrupted.  So, how do we as sysops figure out how to set up  our
  218.           "host" modems  and HLinks, plus, how do we educate our callers to
  219.           do the same?  Unfortunately, with the large variations in current
  220.           modem technology  and configuration settings - that can be a very
  221.           difficult task.
  222.  
  223.  
  224.           When hooking up  a 9600 bps or lower speed "compression" modem on
  225.           your  host  CPU, you  need  to  determine  your  HLink  speed  of
  226.           operation and  type of  flow control.   If you  are running  on a
  227.           "slow"  machine, or  under some  sort  of multi-tasking  software
  228.           where the hardware may not be able to keep up with full 19200 bps
  229.           flow, you  will have to limit yourself to  a maximum rate of 9600
  230.           bps or lower in order to insure reliable operations.  However, if
  231.           your hardware can  support a full 19200 bps HLink,  then you need
  232.           to change some of your modem settings versus a sysop who  will be
  233.           using  9600 bps as their  HLink speed.  Why?   Because of the way
  234.           PCBoard operates.   If the opening speed of the modem is 9600 bps
  235.           or lower, PCBoard has been written to allow the HLink to AutoBaud
  236.           to match the speed  of the MLink.  However, if  the opening speed
  237.           is 19200, or  you have enabled the "Lock in Opening Baud Rate" in
  238.           the  Modem Information screen  of PCBSetup, PCBoard  assumes that
  239.           you want to "lock-in" the  maximum DTE throughput rate, and  does
  240.           not  AutoBaud the  HLink to  try and  match  the MLink  (with the
  241.           exception of  the Hayes 9600 V-Series modem.   See note at end of
  242.           document).  So, how do we adjust  for that in the modem settings?
  243.           First, a word about AutoBauding and what happens.
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.           17.4                                                   Chapter 17
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                                    PCBoard - 9600/19200 BPS Modem Operation
  272.  
  273.           AutoBauding
  274.           -----------
  275.           AutoBauding is simply a term to  describe the ability of the host
  276.           software to change  the speed of the  HLink to match that  of the
  277.           MLink.  Here's how it works.  A  caller decides to call XYZ board
  278.           across town using an ACME 1200 bps modem.  XYZ BBS across town is
  279.           using a GENERIC 2400 bps external modem - which the sysop has set
  280.           up  with an initial  port opening speed  of 2400 bps.   XYZ sysop
  281.           brings their board  up on-line.   PCBoard opens  the com port  at
  282.           2400  bps (the  async card is  now set  to operate at  2400 bps).
  283.           Likewise,  the modem at  XYZ board also  responds at 2400  to the
  284.           initial commands  and is ready to  answer the phone.   The caller
  285.           dials XYZ board, and the board gets a ring detect.  At that time,
  286.           PCBoard  sends the modem  an "ATA"  command to answer  the phone.
  287.           This is done  of course at 2400  bps.  The modem  goes into auto-
  288.           answer mode and starts its  initial handshaking with the caller's
  289.           modem.   First, it tries  to establish a  good connection at 2400
  290.           bps.   Since that  fails, it  drops down  to 1200  bps and  tries
  291.           again.  Success!  The modem-to-modem  link (MLink) is now at 1200
  292.           bps.  The  modem now sends a  "CONNECT xxxx" message to  the host
  293.           CPU via the HLink at 2400 bps.  The host  software looks over the
  294.           response and is told that the connection was made at 1200 bps and
  295.           not 2400 bps.  Since the connect message is the last  command the
  296.           modem will  send to the host via the HLink  at 2400 bps, the host
  297.           CPU must automatically drop down to  1200 bps, or all future data
  298.           transfers  on the HLink  will be garbage.   So, the host software
  299.           (PCBoard in this case), immediately adjusts the async card's  bps
  300.           rate divisor "latches" on  the fly - so that the  HLink is now at
  301.           the  same speed as  the MLink -which  is of course  also the same
  302.           speed as the  CLink.  Now that all the links are "talking" at the
  303.           same  speed,  data  starts  to  flow  normally  between  the  two
  304.           machines.  All of  this works fine if the  host modem is able  to
  305.           quickly change  speeds  to  match the  caller,  and  it  properly
  306.           returns the correct "CONNECT xxxx" message to PCBoard.  The older
  307.           300/1200/2400  bps modems  usually have  no  problems with  this.
  308.           However, enter  the world  of 9600  bps modems  and some  new low
  309.           speed  "compression" modems  - where  there is yet  no "standard"
  310.           among  the  various manufacturers  on  how  the MLink  should  be
  311.           established.   Plus, based on the  firmware in the  modem itself,
  312.           some may have a great deal  of trouble in dropping down from  the
  313.           higher speeds  to the lower speeds  in an attempt to  establish a
  314.           good carrier (MLink) with  the caller.  And, since the  sysop has
  315.           the option of either allowing the  HLink to stay at a fixed  rate
  316.           or to  AutoBaud to match the MLink, things  start to get a little
  317.           confusing.
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.           Chapter 17                                                   17.5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.           PCBoard - 9600/19200 BPS Modem Operation
  338.  
  339.           Configuration
  340.           -------------
  341.           So, what do  the sysops do to properly configure  their system if
  342.           they  want  to  run  one  of  the  new  9600  bps  or  low  speed
  343.           "compression" modems?  First, they must of course decide upon the
  344.           brand of modem they will use.  Since most of the new modems use a
  345.           different  technique  for  handling full  duplex  operation which
  346.           affects  the  'turn-around'  response time  (the  ability  of the
  347.           callers to  see on their screen  the character they  just typed),
  348.           sysops must be careful to purchase a modem which  will meet their
  349.           needs in  "interactive throughput".   Since most 9600  bps modems
  350.           are  not actually operating  in full  duplex mode (i.e.  they are
  351.           simulating what normally happens at  bps rates of 2400 and  below
  352.           in  the modem's  ability to  send and  receive data  at the  same
  353.           time), there can be long delays between when the caller presses a
  354.           key on their  keyboard and when  they see the character  on their
  355.           screen.   This is very annoying  and usually means  file transfer
  356.           throughput rates  may be affected in  a similar manner.   Second,
  357.           they  must consider how  well the  modem will work  in day-to-day
  358.           operations in  handling the ability  to establish a  good carrier
  359.           with the caller  - regardless of the  speed of the HLink  and the
  360.           quality of the  line.  Third, the sysop  should consider how easy
  361.           it will  be to  configure  the modem  to  operate reliably.    If
  362.           configuration efforts requires  a PhD in  figuring out the  modem
  363.           manual with the all the various combinations of settings, you may
  364.           want to check out a different brand of modem.
  365.  
  366.           So, a  modem is finally  selected and is  ready to be  installed.
  367.           Now, we  get back to the question  of what speed are  we going to
  368.           set the HLink  - since that determines how the  host modem should
  369.           be configured.  If  it is decided that  the HLink is going  to be
  370.           19200  bps (the host  hardware can  safely handle full  19200 bps
  371.           operations), the  sysop needs  to set up  the modem  so that  the
  372.           HLink always stays at 19200 - since that is what PCBoard is going
  373.           to do.   If 9600 bps is  the highest speed which  will specified,
  374.           then  the modem must  be configured  to allow for  AutoBauding to
  375.           occur unless  you are  running either  a Hayes  9600 V-Series  or
  376.           other low  speed "compression" modem.   (See Hayes  9600 V-Series
  377.           modem note at end of document).  CAUTION: In either case however,
  378.           you must enable RTS/CTS flow control!!
  379.  
  380.           At  this  point,  you  should check  your  modem  manual  for the
  381.           appropriate modem setting to accomplish the above.  Note that the
  382.           manual will  probably  indicate not  only a  "send" flow  control
  383.           parameter, but a "receive" one as well.  In that case, all should
  384.           be set to  allow for CTS/RTS flow  control!  CAUTION: If  you are
  385.           going to be running at either 9600 or 19200 bps, and  you disable
  386.           RTS/CTS flow control when configuring the  host modem, any "full-
  387.           flow" protocol transfers  (such as 1K-Xmodem Full-Flow)  will not
  388.           work reliably - since data over-runs are sure to occur.
  389.  
  390.  
  391.  
  392.  
  393.           17.6                                                   Chapter 17
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.                                    PCBoard - 9600/19200 BPS Modem Operation
  404.  
  405.           MNP 'CONNECT'
  406.           ------------
  407.           Also, some modems which use  MNP error checking, allow the  modem
  408.           to  either "look for"  another MNP modem,  or to  ignore the fact
  409.           that there  may be another MNP modem calling  in.  Since the time
  410.           to "look for"  another MNP modem  can take up  to 6 seconds,  the
  411.           sysop should be  aware that their callers may get a delay between
  412.           the time  the phone  answers the  caller and  when the  "CONNECT"
  413.           message is sent.   Likewise, if the caller has "look  for another
  414.           MNP  modem" enabled on their end,  while the host modem does not,
  415.           the host may send the "CONNECT" message to the caller -but  since
  416.           the caller's modem is still trying to look for another MNP modem,
  417.           the initial data will be lost to the caller and may not appear on
  418.           their screen.    This becomes  very confusing  for  not only  the
  419.           caller, but the  sysop as well in  trying to figure out  why some
  420.           callers  are  loosing  the initial  logon  message,  while others
  421.           receive it fine.   Unfortunately, the only answer to  all of this
  422.           is education on  the part of the  callers as well as  the sysops.
  423.           They  both   need  to  have   an  understanding  of   high  speed
  424.           communications and the  various modem's  characteristics if  they
  425.           want to  enter the high  speed arena.   It is no longer  simply a
  426.           matter of plugging in a modem, setting a few switches, giving the
  427.           modem  a  few  simple  commands,  followed  by  totally  reliable
  428.           unattended operation.
  429.  
  430.           If all/any  of the above makes  sense, the next  question usually
  431.           asked  by the sysop is  "Gee, where do I find  out about all this
  432.           stuff and still -  no one has  told me how to  set up my  modem!"
  433.           Unfortunately, there are  very few single sources  of information
  434.           on  how  all of  the  various  brands  of  new modems  operate  -
  435.           including  the various commands needed to properly configure them
  436.           for both the caller  as well as the sysop.   For example, the  US
  437.           Robotics Courier  HST modem, when operating  at 9600 bps,  uses a
  438.           USR  proprietary means of  communication.  However,  at 1200/2400
  439.           bps, it can be  configured to "talk" to  other MNP based  modems!
  440.           So, the sysop  must be able to relate 1200/2400  bps MNP settings
  441.           to other  MNP modems, while considering USR settings for 9600 bps
  442.           and above.
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.           Chapter 17                                                   17.7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           PCBoard - 9600/19200 BPS Modem Operation
  470.  
  471.           Proper Settings
  472.           ---------------
  473.           What  all this  boils down  to is  that the  PCBoard authors  are
  474.           frequently asked if we can provide the necessary settings for the
  475.           various 9600 bps  and other low speed "compression"  modems which
  476.           will allow all  of this to  work properly.   At present, we  have
  477.           included  many 'suggested' settings for various modems which have
  478.           been provided  by our callers.   These  settings can be  found in
  479.           Chapter 16.  However, when configuring your modem (or selecting a
  480.           brand to purchase), please consider some of the following:
  481.  
  482.                1.   Do your callers want their CLink to be at a fixed rate?
  483.                2.   Do your callers want their CLink to autobaud?
  484.                3.   Do you want your HLink to remain at a fixed rate?
  485.                4.   Do you want your HLink to autobaud?
  486.                5.   Do  you   plan  on   'locking-in'  a   low  speed   DTE
  487.                     'compression' rate?
  488.                6.   Does your  machine have an 8250  UART (9600 bps  max if
  489.                     true)?
  490.                7.   Are you running in a multitasking environment?
  491.                8.   Are  you  using an  EGA/VGA  card which  uses  NMI's to
  492.                     operate?
  493.  
  494.           As can be seen, multiplying the above  by the number of modems on
  495.           the market, and then compounding  this effort with the fact  that
  496.           there  are currently a  lot of  ROM changes (hence  modem setting
  497.           changes) going  on in the industry  - it is  virtually impossible
  498.           for  any one  source to  remain current on  everything associated
  499.           with high speed  or "compression" operation.   Therefore the best
  500.           source of information, and obviously the  most current, should be
  501.           obtained  from the  modem  manufacturers themselves.   Hopefully,
  502.           they will be fairly familiar with the software that is being used
  503.           at both ends  of the connection to provide sufficient information
  504.           on  the proper  modem  settings to  use  under those  conditions.
  505.           However, we  do  provide a  default  modem setup  program  called
  506.           PCBModem which we use to configure  modems tested on the Salt Air
  507.           BBS  system for operation.   We  have found  that when  using the
  508.           settings in  the PCBModem  program, we  are able  to successfully
  509.           operate the Hayes 2400, Hayes 9600  V-Series, US Robotics Courier
  510.           HST, and Microcom AX9624C modems  with PCBoard.  Again, refer  to
  511.           Chapter 16 for possible modem settings for your model.
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.           17.8                                                   Chapter 17
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.                                    PCBoard - 9600/19200 BPS Modem Operation
  536.  
  537.           Questions & Answers
  538.           -------------------
  539.           Here are  some commonly  asked questions  and answers  concerning
  540.           9600/19200 bps operation that may assist you in  configuring your
  541.           system:
  542.  
  543.  
  544.           Question
  545.           --------
  546.           Why is it  that on the local  (host) screen, it appears  that the
  547.           caller is  using XON/XOFF flow control when operating the host at
  548.           19200 bps?
  549.  
  550.           Answer
  551.           ------
  552.           What is usually happening here is that the host modem may have an
  553.           internal buffer to  store up to 8K  of data it receives  from the
  554.           host CPU via  the HLink.   It then  funnels the data  out to  the
  555.           caller at the  MLink speed.  So,  what the sysop usually  sees on
  556.           the host  side is a  little blip of  data going  to the modem  as
  557.           almost an entire  screen of data  is sent to  the host modem  and
  558.           buffered there.  Then,  the host modem  dribbles out the data  to
  559.           the caller at the MLink speed.  No lights are usually  present on
  560.           the  host modem to indicate that the  data is actually being sent
  561.           to  the caller - since the TD  or SD (transmit data or send data)
  562.           light only flashes when the host CPU sends data to the host modem
  563.           via  the HLink - not  when the host modem is  sending data to the
  564.           caller's modem via  the MLink.  What this ends up looking like is
  565.           3/4 of a  screen display appearing almost  instantaneously on the
  566.           host,  followed  by a  delay,  followed by  another  quick screen
  567.           display, followed by  a delay.  This  is normal, and you  have to
  568.           remember that the caller is simply seeing what they  always do at
  569.           the speed at which they are connected - rather than at 19200 bps.
  570.           The pauses  are caused  by having  properly defined  your CTS/RTS
  571.           flow  control parms - since when the  host modem's buffer is full
  572.           it signals  (by toggling the RTS/CTS  signals) the fact  that the
  573.           host CPU should delay sending  it (the host modem) any more  data
  574.           until it has had a chance to empty out its internal buffer to the
  575.           caller.
  576.  
  577.  
  578.           Question
  579.           --------
  580.           My callers are complaining that since installing a 9600 bps modem
  581.           and running it at 19200 on the HLink, they are no longer able  to
  582.           (Ctrl-K) abort a "non-stop" listing, or are unable to interrupt a
  583.           long message  display.   What's  wrong with  my  settings or  the
  584.           software?
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.           Chapter 17                                                   17.9
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.           PCBoard - 9600/19200 BPS Modem Operation
  602.  
  603.           Answer
  604.           ------
  605.           Nothing is  wrong with either of  them!  Your callers  are simply
  606.           trying to  perform functions against  the internal buffer  of the
  607.           host modem  - over  which  you and/or  the software  may have  no
  608.           control.   When operating the host at 19200 as indicated above, a
  609.           whole screen of data can be sent to the modem in a  fraction of a
  610.           second.  There it will be buffered until it is sent to the caller
  611.           at  the  speed at  which  they can  accept  it.   For  example, a
  612.           complete message can  be sent to the host modem - after which the
  613.           host pauses  awaiting the caller's  response to a  "More" prompt.
  614.           In the meantime, the caller  is just barely starting to  have the
  615.           message displayed on their local  screen.  They decide they  want
  616.           to (Ctrl-K)  abort it.  So, they press  (Ctrl-K).  Since the host
  617.           CPU has already  sent all the  data to the  modem, and the  modem
  618.           will not recognize  the (Ctrl-K) as a signal to flush out what is
  619.           in its internal buffer, the caller continues to receive data from
  620.           the host modem until  its buffer is empty.  The  slower the MLink
  621.           speed,  the  worse this  situation  will be.    If your  caller's
  622.           software supports  the sending of a  BREAK signal to  your modem,
  623.           and your  modem supports the "dumping" of its buffer upon receipt
  624.           of a BREAK signal, this delay can be defeated.
  625.  
  626.  
  627.           Question
  628.           --------
  629.           If this is the case above, why not let me define the host modem's
  630.           buffer size?
  631.  
  632.           Answer
  633.           ------
  634.           That is  between you and the  modem manufacturer and  the various
  635.           settings they  allow.   However, decreasing  the internal  buffer
  636.           size of the host modem may degrade the modem's ability to operate
  637.           up to its advertised speed.
  638.  
  639.  
  640.           Question
  641.           --------
  642.           On my system, the best download  cps rate that any of my  callers
  643.           get when using my new GENERIC 9600 bps modem is 700 cps.  But, on
  644.           my friend's  system down the street,  I see his  caller's getting
  645.           over 1000 cps all the time!  What am I doing wrong?
  646.  
  647.           Answer
  648.           ------
  649.           Possibly nothing!   Some of  the things  that can cut  cps figure
  650.           down VERY quickly are: 1)CPU speed,  2)multitasking the host CPU,
  651.           3)speed of the host hard disk, 4)line quality,  5)modem settings,
  652.           etc.   Any  of  the above  can  make subtle  differences  in your
  653.           caller's CPS throughput.  Remember, at 9600 bps, an increase of 1
  654.  
  655.  
  656.  
  657.           17.10                                                  Chapter 17
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                                    PCBoard - 9600/19200 BPS Modem Operation
  668.  
  669.           second in the  time it takes to send a given piece of information
  670.           can have dramatic effects on  throughput rates - since ideally  1
  671.           second will cause a "loss in effectiveness" of approximately 1000
  672.           bytes!   Additionally,  some  of our  users have  found conflicts
  673.           between  their COM port  and Networking card  interrupts (IRQ's),
  674.           which  effectively kills upload throughput.   Also, some new high
  675.           speed CPUs  have UARTS installed which  to not allow  for maximum
  676.           throughput.
  677.  
  678.  
  679.           Question
  680.           --------
  681.           Should I buy a 9600 bps modem, and which one should I buy?
  682.  
  683.           Answer
  684.           ------
  685.           Sorry,  but  that question  can  only be  answered  by you  after
  686.           determining your needs, the needs  of your callers, and what  you
  687.           feel you can  afford.  Remember, at present there are very few if
  688.           any "standards"  among the 9600  bps modem manufacturers  - which
  689.           normally means only "like  manufactured" modems can talk  to each
  690.           other at  9600 bps.  So,  if you decide to buy  one, only callers
  691.           who have  the same brand of modem will  be able to take advantage
  692.           of  your  "new  technology".   Second,  your  users  will  have a
  693.           tendency to look to you for  leadership in what modem they should
  694.           buy so that they can talk  to your system at the higher  rates of
  695.           speed.   If you  recommend they  go out and  by an  ACME 9600 bps
  696.           modem for $1,000, and 3 months from now the GENERIC 9600 modem at
  697.           $595 becomes the defacto "standard" which everyone else is buying
  698.           and running, your callers  will be understandably a  little upset
  699.           with  you for  influencing  their buying  decision  in the  wrong
  700.           direction.  You are assuming a lot of responsibility as a PCBoard
  701.           sysop when you bring  a system up  on-line.  Callers will  expect
  702.           that you  are a  leader in  the area  because of  your choice  of
  703.           software.  Be prepared to live up to their expectations.
  704.  
  705.  
  706.           Question
  707.           --------
  708.           Why is  there a  delay between  what the  caller  types at  their
  709.           keyboard and what they see on their screen?
  710.  
  711.           Answer
  712.           ------
  713.           At 2400 bps and below, the modem(s)  can send and receive data at
  714.           the same  time.  Therefore, the  "turnaround" time, (the  time it
  715.           takes the  caller to send the keystroke to  the host, and for the
  716.           host to send it  back to the caller for display  on their screen)
  717.           is very short - measured in  fractions of a second.  However,  at
  718.           9600  bps, most modems are not operating in full duplex mode with
  719.           instantaneous  turnaround.   Instead, they  are "emulating"  full
  720.  
  721.  
  722.  
  723.           Chapter 17                                                  17.11
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.           PCBoard - 9600/19200 BPS Modem Operation
  734.  
  735.           duplex  operation  since  they  are  also  providing  full  error
  736.           checking of  the data that is being sent  and received.  In order
  737.           to do this, several schemes can be used.  However, the end result
  738.           is  that  at  9600  bps  and  above  (under current  technology),
  739.           turnaround time may be longer at 9600 bps than it would be if the
  740.           caller were  at 2400 bps.   Some modems  are better than  others.
  741.           Some are very bad.  You should check around to find one that will
  742.           meet your expectations.  A $400 9600 bps modem which is  prone to
  743.           errors and has terrible turnaround time is not a "bargain".  Make
  744.           sure you are  getting what you pay for.  Remember also, that just
  745.           because  you can buy  a certain brand  of modem cheaply  does not
  746.           mean your callers can automatically do the same.  If your callers
  747.           can't afford a  modem which  will talk to  yours, your money  has
  748.           also been wasted.
  749.  
  750.  
  751.           Question
  752.           --------
  753.           I am running under a network  environment.  What should I set  my
  754.           upload  buffer  size to  be  inside  PCBSetup to  insure  maximum
  755.           throughput during uploads to my system?
  756.  
  757.           Answer
  758.           ------
  759.           That depends on the speed of your network, the speed of your hard
  760.           disk, the type CPU's and  UARTs you are using, and your  over-all
  761.           network  activity.   For  most  networks, although  it  may sound
  762.           strange, you  may get BETTER throughput during uploads if you set
  763.           your buffer size to 4 or 8 blocks!  Only  if you are running in a
  764.           true "standalone" environment with a fast hard disk and/or a very
  765.           fast network (10 meg throughput) will a large buffer size usually
  766.           benefit  you or  your  callers.   The reason  being is  that most
  767.           networks will  more efficiently  handle a  small packet  transfer
  768.           request on  a more frequent  basis than they  will a large  one -
  769.           based  on  other network  activity.   The  ability  to define  an
  770.           "Upload   Buffer"  size  in  the  PCBSetup  program  can  provide
  771.           increased  throughput to  most  standalone  systems -  especially
  772.           those running  high speed modems.   However, by defining  a large
  773.           upload size buffer, you are going to be allocating additional low
  774.           memory  for the  buffer.   This usually  has minimal effect  on a
  775.           system   running  in  standalone  mode,  or  in  a  true  network
  776.           environment.   However,  if you  are  running under  multitasking
  777.           software,  you may have problems if  you try and define too large
  778.           of an upload buffer.  You may run out of memory and get all sorts
  779.           of  strange error  messages.    The  best recommendation  we  can
  780.           provide  is to start with  a buffer size of  8 blocks and work up
  781.           from there.  If no strange errors occur, increase the number in 4
  782.           block increments.
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.           17.12                                                  Chapter 17
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.                                    PCBoard - 9600/19200 BPS Modem Operation
  800.  
  801.           Question
  802.           --------
  803.           My PC Pursuit  callers are really griping about the  new code and
  804.           my new 9600  bps modem!  Seems none of them can download anymore!
  805.           What did you mess up in the new code?
  806.  
  807.           Answer
  808.           ------
  809.           Nothing!  The routines  used in the current code are  the same as
  810.           those used in previous versions.   The problem centers around  PC
  811.           Pursuit  and the  communications program  they are  using.   What
  812.           happens is  if you  are  operating your  HLink  at 19200  and  PC
  813.           Pursuit is a little busy, the caller's communication  program may
  814.           abort - since PC Pursuit is not geared up to handle the high data
  815.           flow rate.    To correct  for the  condition,  have your  callers
  816.           select  a "relaxed" protocol transfer type in their communication
  817.           program,  install a Zmodem  DOOR application, or  drop your HLink
  818.           down  to  9600 bps.    Additionally, some  of  the communications
  819.           program  they (your  callers)  are using  are  very sensitive  to
  820.           timing problems on their end.  You can also suggest that they try
  821.           a different program.
  822.  
  823.  
  824.           Question
  825.           --------
  826.           My callers  can perform downloads fine, but uploads slow way down
  827.           -  achieving only  about half the  throughput rate  of downloads.
  828.           Why is that?
  829.  
  830.           Answer
  831.           ------
  832.           There are a  couple of possibilities, including: 1)  an interrupt
  833.           conflict  between your asnyc  port and  the network card  you are
  834.           using -  be sure the  COM port IRQ  interrupt is higher  than the
  835.           network card's  interrupt; 2) a slow  UART chip in  comparison to
  836.           the CPU speed - some older style XT async cards will not function
  837.           properly in  the newer  high speed  AT class  machines during  an
  838.           upload.
  839.  
  840.  
  841.           Summary Notes
  842.           -------------
  843.           In summary,  individuals purchasing one of the new 9600 bps error
  844.           correcting modems  hope  the new  modem  will really  make  their
  845.           system file transfers  fly.  Unfortunately,  some will find  that
  846.           19200 will not work on their  system.  The reasons are many,  but
  847.           basically boil  down to what type  UART(s) and CPU the  system is
  848.           using,  what  brand modem(s)  the board  is running,  whether the
  849.           sysop  is running any  software which  must control the  COM port
  850.           buffer  interrupts (this includes  all multitasking  software and
  851.           possible Networking  card conflicts,  etc.), and  how the  system
  852.  
  853.  
  854.  
  855.           Chapter 17                                                  17.13
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.           PCBoard - 9600/19200 BPS Modem Operation
  866.  
  867.           intends  to  support  PC Pursuit  callers.    Unfortunately, some
  868.           multitasking  software  is  unable   to  efficiently  time  slice
  869.           concurrent 19200  bps operations  under one  or more  partitions,
  870.           causing device timeouts  when the opposite partition  attempts to
  871.           output anything  to its respective COM port.  PCBoard attempts to
  872.           trap  for  as many  of  these  timeout  conditions  as  possible.
  873.           However,  in  some  cases, the  multitasking  software  may never
  874.           "release" the opposite COM port, causing that node to effectively
  875.           loose its COM  port.  This has  the effect of shutting  down that
  876.           node.     Additionally,  even  if  19200  does  work  under  your
  877.           multitasker, you  may find that file transfers are slower than at
  878.           a straight 9600  bps setting.   The reason again  is the way  the
  879.           interrupts are handled and the amount of timeout errors which are
  880.           necessarily being  trapped  by  the  code.    Basically,  if  you
  881.           experience  a large number  of errors while trying  to run one or
  882.           more nodes  at 19200 bps,  you will have  to set your  modem open
  883.           speed to a max of 9600 bps.  Additionally, if the  CPS throughput
  884.           is less at 19200 that  it was at 9600, you will  likewise be best
  885.           to set back  your modem speed to 9600 max.   Please note that the
  886.           additional  throughput gained  by  running the  host  modem in  a
  887.           locked 19200 bps  setting is  minimal compared  to straight  9600
  888.           bps.  Plus, the  chances of getting  a device timeout on  another
  889.           node is much less when running at 9600 rather than 19200.   19200
  890.           will   work  best  for  those  individuals  running  either  true
  891.           networking systems  who have  "tuned" their  network for  maximum
  892.           throughput,  or  for  those  running  19200  in   a  single  node
  893.           standalone mode.   We estimate 95% of all multitasker sysops will
  894.           find  that 9600  bps is the  maximum speed  they will be  able to
  895.           operate their nodes reliably.
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.           17.14                                                  Chapter 17
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.                                    PCBoard - 9600/19200 BPS Modem Operation
  932.  
  933.           Hayes 9600 V-Series Notes
  934.           -------------------------
  935.           PCBoard fully supports the new  Hayes 9600 V-Series modem at  all
  936.           speeds  - including 19200,  9600 and  lower bps rates.   However,
  937.           since  the Hayes 9600  V-Series operates entirely  different than
  938.           the other current 9.6  modems on the market, it  is essential you
  939.           properly indicate to  PCBoard that you are using a Hayes 9600 and
  940.           that you understand the difference in its operation.  To indicate
  941.           to the code that you are using a Hayes 9600, set the field "Using
  942.           Hayes V-Series  9600" to 'Y' in  the Modem Information  screen of
  943.           PCBSetup.  Most of the new 9600 modems allow setting the HLink to
  944.           a  fixed speed  of operation  - regardless  of  the speed  of the
  945.           caller.  However, the Hayes  V-Series does not allow holding  the
  946.           HLink at  a fixed  speed unless it  detects an  "error-corrected"
  947.           connection.  This means  that if and only if the  caller is using
  948.           another error  correcting V-Series  modem and  they establish  an
  949.           error-correction link  will the  Hayes on  the host  stay at  the
  950.           fixed DTE or  HLink speed.  Under all other conditions, the Hayes
  951.           9600 V-Series will AutoBaud down to match the speed of the caller
  952.           - even though  the port was opened  at 19200 on  the host.   DOOR
  953.           authors  must consider this  when writing their  applications for
  954.           sysops with a Hayes  9600 V-Series on-line.   In order to  detect
  955.           this, a DOOR author should  check the PCBOARD.DAT file to  see if
  956.           the  sysop has turned  on the  "Using Hayes V-Series  9600" modem
  957.           switch and adjust accordingly.
  958.  
  959.  
  960.           Pause/Abort Performance (Ctrl+K) (Ctrl+S)
  961.           -----------------------------------------
  962.           A sidenote when configuring your high speed modem to operate at a
  963.           maximum speed  of  9600 bps.   When  you  configure your  modem's
  964.           opening  speed to be 9600 instead  of 19200, some of the problems
  965.           indicated above (such  as failure to  quickly detect a  (Ctrl-K),
  966.           etc.) are no longer a problem - since the code will automatically
  967.           AutoBaud the  modem to match the  caller's connect speed.   Since
  968.           under that condition, output from  the code is much more  closely
  969.           aligned to the speed at which  the caller is able to receive  the
  970.           data, normal (Ctrl-K) operations are restored.  Additionally, the
  971.           Hayes  9600 V-Series modem automatically AutoBauds down unless an
  972.           error-corrected connection is  established - which means  it will
  973.           properly handle  a caller's (Ctrl-K) requests  as well.   So, the
  974.           bottom line is,  do you want to  provide better support for  your
  975.           low  speed  callers,  or  do  you  want  to  insure  the  maximum
  976.           throughput  for your high  speed ones?   The question of  how you
  977.           want to  support the majority of your callers rests entirely with
  978.           you.   You need to decide what course  of action you wish to take
  979.           when configuring a 9600 bps modem.
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.           Chapter 17                                                  17.15
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.           PCBoard - 9600/19200 BPS Modem Operation
  998.  
  999.           NOTES
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.           17.16                                                  Chapter 17
  1054.  
  1055.  
  1056.  
  1057.  
  1058.